﻿function initUpLoader(actionUrl, url) {
    //var applicationPath = window.applicationPath === "" ? "" : window.applicationPath || "../../";
    var GUID = WebUploader.Base.guid();//一个GUID
    var $ = jQuery;
    var $list = $('#thelist');
    var uploader = WebUploader.create({

        // 选完文件后，是否自动上传。
        auto: false,
        // swf文件路径
        swf: '~/Scripts/webUploader/Uploader.swf',

        // 文件接收服务端。
        server: actionUrl,

        // 选择文件的按钮。可选。
        // 内部根据当前运行是创建，可能是input元素，也可能是flash.
        pick: '#picker',
        duplicate: true,

        chunked: true,//开始分片上传
        chunkSize: 2048000,//每一片的大小
        formData: {
            guid: GUID //自定义参数
        },
        
        resize: false,
        accept: {
            title: 'Files',
            extensions: 'xls,xlsx'
        }
    });
    // 当有文件被添加进队列的时候
    uploader.on('fileQueued', function (file) {
        $list.append('<div id="' + file.id + '" class="item">' +
            '<h4 class="info">' + file.name + '</h4>' +
            '<p class="state">等待上传...</p>' +
            '</div>');
    });
    // 文件上传过程中创建进度条实时显示。
    uploader.on('uploadProgress', function (file, percentage) {
        var $li = $('#' + file.id),
            $percent = $li.find('.progress .progress-bar');

        // 避免重复创建
        if (!$percent.length) {
            $percent = $('<div class="progress progress-striped active">' +
                '<div class="progress-bar" role="progressbar" style="width: 0%">' +
                '</div>' +
                '</div>').appendTo($li).find('.progress-bar');
        }

        $li.find('p.state').text('上传中');

        $percent.css('width', percentage * 100 + '%');
    });

    // 文件上传成功，给item添加成功class, 用样式标记上传成功。
    uploader.on('uploadSuccess', function (file, response) {

        $('#' + file.id).find('p.state').text('已上传');
        $.post(url, { guid: GUID, fileName: file.name }, function (data) {
            $("#uploader .state").html("上传成功...");
        });
    });

    // 文件上传失败，显示上传出错。
    uploader.on('uploadError', function (file) {
        //console.log('uploadError');
        $('#' + file.id).find('p.state').text('上传出错');
    });


    // 完成上传完了，成功或者失败，先删除进度条。
    uploader.on('uploadComplete', function (file) {
        $('#' + file.id).find('.progress').fadeOut();
    });

    //所有文件上传完毕
    uploader.on("uploadFinished", function () {
        //提交表单

    });
    ////开始上传
    $("#ctlBtn").click(function () {
        uploader.upload();
    });
}





